iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0

今天主要是講規劃的部分,後續會逐步完成每個部分

預計的遊戲流程

  1. 建立房間到遊戲開始那段
  2. 遊戲開始的初始化,server 發送一開始的遊戲狀態給 client,client 將遊戲狀態 render 到畫面上
  3. server 通知回合開始,client 發送行動 API、client 發送抽牌 API,server 通知回合結束、切換行動玩家
  4. server 通知遊戲結束

玩家個人資訊管理

這部分也是需要處理的議題,server 端在更新遊戲狀態的時候需要把公開的狀態更新和玩家個人資訊分開

遊戲雛形

這邊要實作的是一個很單純無聊的出卡牌扣玩家生命的遊戲,規則部分可以後續再擴充,先完成大概的樣子

完整敘述

遊戲開始: 遊戲開始時,每個玩家初始化一定數量的生命值,通常為100或其他你選擇的值。
卡牌: 每個玩家擁有一副卡牌堆,其中包含不同類型的卡牌,每張卡牌可能有不同的傷害值。
回合制: 遊戲按照回合制進行,每個回合分為以下步驟:
a. 抽卡: 每個玩家從自己的卡牌堆中抽取一張卡牌。
b. 行動: 玩家可以選擇使用一張卡牌來對對手造成傷害。 例如,玩家可以選擇卡牌A,它對對手造成10點傷害。
c. 扣減生命值: 如果玩家選擇使用卡牌進行攻擊,對手的生命值將減少相應的傷害值。
d. 檢查勝利條件: 在每個回合結束后,檢查是否有玩家的生命值降到0或以下。 如果是,遊戲結束,另一方獲勝。
e. 切換回合: 遊戲繼續進入下一個回合,輪到另一個玩家執行上述步驟。

遊戲結束: 遊戲結束時,宣布獲勝者,通常是最後還有生命值的玩家。


上一篇
D19 實作日 - 改寫 gameLoop
下一篇
D21 產出基礎遊戲邏輯
系列文
chatGPT 帶你從零開始寫 websocket 連線遊戲31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言